<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>

//注释 php中的写法跟js一致 
    //这是单行注释
    /*
      这是多行注释
    */

//变量 
    //变量以$符开头 其后是变量的名称，大小写敏感
    //(变量命名规范) 必须以字母或下划线开头
     $a1;
     $_abc;

//数据类型
    //php支持的数据类型包括 
    // 字符串 ！注意
    // 整数 
    // 浮点数
    // 布尔
    // 数组
    // 对象
    // null

//定义字符串时注意
    //字符串拼接是用 . 的
    //*单引号``  内部的内容只是作为字符串    
    //*双引号""  如果内部是php的变量那么会将该变量的值解析，如果内部是html代码，也会解析成html.    
    //*即 单引号里的内容一定是字符串，双引号的内容，可能会进行解析.
        echo "<input type=`button` value=`smyhvae`>"  //这句话 就会被解析为按钮 
        $str = '123';            //字符串
        $str2 = '123'.'哈哈哈'   //字符串拼接 

        $numA = 1;               //正数   整数
        $numB = -2;              //复数
        $x= 1.1;                 //浮点数

        $a = true;               //布尔
        $b = false;              //

        //普通数组 在数组中可以放 数字 字符串 布尔值   不限制类型
        $arr1 = array('123',123);
        echo $arr1[0];

        //关系型数组 类似json格式
        $arr2 = $array(`name`=>`smyhvae`,`age`=>`26`);
        echo $arr2[`name`]   //获取时 通过 key 来获取  

//运算符
        //php中的运算符跟js中的基本一致，用法也基本一致 
        //算数运算符  + - / * % 
        //赋值运算符 x=y x+=y x-=y等
        //demo
        <?php
         $x = 10;
         $y = 6;
            echo ($x + $y);   //输出16
            echo ($x - $y);   //输出4
            echo ($x * $y);   //输出60
            echo ($x / $y);   //输出1.6666666666666
            echo ($x % $y);   //输出4   mo取余
        ?>
//函数的定义 
        //语法格式 
        funciton functionName(){
        //  这里写代码 (业务逻辑)    
        }

    //有参数    无返回值的函数
        function sayName($name){
           echo $name."你好";    
        }
        sayName('sayName');   //调用

    //有参数 有返回值的函数
        function sum($a,$b){
         return $a+$b    
        }
        sum(1,2)  //返回值1+2=3        
            
    //有参数    参数有默认值的函数 
        function sayName($food='西兰花'){
         echo $food.'好吃';    
        }
        // 调用
        sayFood('西葫芦');    //如果传入参数    就使用传入的参数   同js(备胎)
        sayFood();            //如果不传入参数  直接使用默认值

//类&对象
        //php中准许使用对象这种自定义的数据类型 必须先声明 实例化之后才可以使用 
    //定义有个最基础的类 
         class Fox{
           public $name = 'itcast';
           public $age  = 10;
         }
         $fox = new $fox;

         //  对象属性取值 
         $name = $fox->name;
         //  对象属性赋值
         $fox->name = '小王八'   
         
    //带构造函数的类 
            class fox{
                // 私有属性,外部无法访问
                var $name = '小王八';
                // 定义方法 用来获取属性
                function Name(){
                return $this->name;
                }
                // 构造函数,可以传入参数
                function fox($name){
                $this->name = $name
                }
            }

            // 定义了构造函数 需要使用构造函数初始化对象
            $fox = new fox('小王八');
            // 调用对象方法,获取对象名
            $foxName = $fox->Name();
//内容输出
            echo       //输出字符串
            print—r()  //输出复杂数据类型 比如数组对象
            var_dump() //输出详细信息
            //demo
            $arr =array(1,2,'123');
            echo'123';
            //结果：123
            print_r($arr);
            //结果：Array ( [0] => 1 [1] => 2 [2] => 123 )
            var_dump($arr);
            /* 结果：
            array
            0 => int 1
            1 => int 2
            2 => string '123' (length=3)
            */

// 循环语句
            //foreach、for循环
            for ($x=0; $x<=10; $x++) {
                echo "数字是：$x <br>";
            }

            $colors = array("red","green","blue","yellow");
	            foreach ($colors as $value) {
	            echo "$value <br>";
	        }
            //输出red green blue yellow 
            //参数一：循环的对象。参数二：将对象的值挨个取出，直到最后。
            //如果循环的是对象，输出的是对象的属性的值

//php 中的header()函数
            //浏览器访问http服务器 接受到响应后 会根据响应报文头的内容进行一些具体的操作
            //在php中可以根据header来设置这些内容 
        //header()函数作用 用来向客户端(浏览器)发送报头 直接写在php代码的第一行
        //几个常见的header函数
            //1.设置编码格式    
            header('content-type:text/html; charset= utf-8');
            //例如
            <?php
                header('content-type:text/html; charset= utf-8');
                echo "我是第一段 php脚本";
            ?>
            //2.设置页面跳转 
            header('location:http://www.baidu.com')
            //设置页面刷新的间隔 
            header('refresh:3; url=http://www.xiaomi.com')

            https://blog.csdn.net/qq_38338069/article/details/84262104?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161241599316780264019689%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161241599316780264019689&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-84262104.pc_search_result_no_baidu_js&utm_term=php+%E8%AF%AD%E6%B3%95&spm=1018.2226.3001.4187
         


</script>